Argentina
Mapa del sitio  | Home | Worldwide
Microsoft
Buscar en Microsoft.com:
Ayuda y Soporte Técnico  
| Seleccione un producto | Búsqueda Avanzada | Grupos de noticias | Contáctenos

HOWTO: GetChunk/AppendChunk de ADO de uso con Oracle con datos de TEXTO

AVISO: Gracias por utilizar el servicio de Traducción Automática. Este artículo ha sido traducido por un sistema informático sin ayuda humana (Machine Translation). Microsoft ofrece estos artículos a los usuarios que no comprendan el inglés, exclusivamente, con el fin de que puedan entenderlos más fácilmente. Microsoft no se hace responsable de la calidad lingüística de las traducciones ni de la calidad técnica de los contenidos de los artículos así como tampoco de cualesquiera problemas, directos o indirectos, que pudieran surgir como consecuencia de su utilización por los lectores.
Id. de artículo : 192743
Última revisión : miércoles, 02 de marzo de 2005
Versión : 1.2
En esta página

Resumen

El propósito de este artículo es mostrar cómo guardar y recuperar datos de TEXTO a una columna de tipo de datos LONG en una base de datos 8.x de Oracle 7.3 o de Oracle que utiliza los métodos ActiveX Data Objects ( ADO ) GetChunk y AppendChunk.

Para obtener un ejemplo de la utilización de Binary Large Object (BLOB), los datos a una columna LONG RAW de tipo de datos ven el artículo indicado en la sección REFERENCIAS de este artículo por favor.

Volver al principio

Más información

El proyecto siguiente tiene control RichTextBox, un control CommonDialog y tres botones de comando en el Formulario de Inicio. Los resultados y estado se muestran en la ventana Depuración del título del Formulario. Debe modificar la cadena de conexión para coincidir con la configuración de su instalación de Oracle.

Si utilizan Visual Basic 5.0, NOTA: necesita adquirir el Microsoft Data Access Components (MDAC) para el ejemplo de este artículo y necesita NOTA: instalarlo. Consulte el artículo indicado en la sección que REFERENCIAN como la información acerca de instalar MDAC contiene 2.x ADO y la versión 2.5 controlador ODBC para Oracle de Microsoft.

Este proyecto utiliza una tabla denominada LargText. La siguiente es la secuencia de comandos que crea la tabla LargText y que agrega una fila a la tabla.

Volver al principio

Código de ejemplo

CREATE TABLE LARGTEXT (

    MYID              NUMBER(2) NOT NULL PRIMARY KEY,

   BIGTEXT                 LONG
   );
   / 
   INSERT INTO LARGTEXT (MYID) VALUES (1);
   / 
   Commit;

Volver al principio

Descripción de aplicación

Esta aplicación de ejemplo de Visual Basic tiene un control RichTextBox para examinar el archivo de texto seleccionado, un control CommonDialog, para seleccionar un archivo de texto (que predetermina en archivos .txt) y tres botones de comando para controlar el flujo de aplicación. El botón AppendChunk Command cuando se hace clic en el botón abre el cuadro Open File dialog que le permite seleccionar un archivo .txt. El código detrás del botón realiza aquel archivo y lo almacena a la columna LONG de LargText que utiliza el método AppendChunk. El botón GetChunk cuando se hace clic en el botón recupera los datos de texto de la columna LONG mediante utilización del método GetChunk, convierte los datos de Texto en un archivo .txt y muestra aquel archivo en el control RichTextBox. El tercer botón le permite salir de la aplicación.

Para crear el seguimiento de aplicación en estos pasos:

1. Abra un proyecto nuevo en Visual Basic. Se creará Form1 de manera predeterminada
2. Coloque un control RichTextBox y CommonDialog en el formulario nuevo junto con tres botones de comando. Es posible que tenga que agregar control RichTextBox y el control CommonDialog a su proyecto. En el menú Proyecto, para ello, seleccione Componentes y a continuación, seleccione el Microsoft Common Dialog Control así como el Microsoft Rich TextBox Control.
3. En el menú Proyectos, seleccione Referencias y a continuación select Microsoft ActiveX Data Objects. La versión dependerá de su programa de instalación. Para Visual Basic 6.0, seleccione Microsoft ActiveX Data Objects 2.6.
4. Inserte el código siguiente en la sección Declaraciones generales de Form1:
Option Explicit
      Dim Cn As ADODB.Connection
      Dim Rs As ADODB.Recordset
      Dim strConn As String
      Dim strSQL As String
      Dim FileLength As Long  'Used in Command1 and Command2 procedures.
      Dim Numblocks As Integer
      Dim LeftOver As Long
      Dim i As Integer
      Const BlockSize = 10000 'This size can be experimented with for performance and reliability.

      Private Sub Form_Load()
         Command1.Caption = "AppendChunk"
         Command2.Caption = "GetChunk"
         Command3.Caption = "Exit"
         Command2.Enabled = False

         'Make Connection.
         'Set Cursor type.
         strConn = "UID=MyUID;PWD=MyPassword;" & _
                 "driver={Microsoft ODBC for Oracle};" & _
                 "SERVER=MyServer;"
         Set Cn = New ADODB.Connection
         Cn.CursorLocation = adUseClient
         Cn.Open strConn
         Debug.Print Cn.ConnectionString

      End Sub

      Public Sub Command1_Click()
         ' AppendChunk button.
         ' This procedure prompts for a .txt file,
         ' converts that file to a String Variable,
         ' and saves the String Variable to the table
         ' using the Appendchunk method.
         '
         Dim TextFile As String
         Dim strData As String   'String for LongVarChar data.
         Dim SourceFile As Integer

         ' Open the LARGTEXT table.
         strSQL = "Select MyID, BigText from LARGTEXT WHERE MyID = 1"
         Set Rs = New ADODB.Recordset
         Rs.CursorType = adOpenStatic
         Rs.LockType = adLockOptimistic
         Rs.Open strSQL, Cn

         'Retrieve the text file and update the record.
         CommonDialog1.Filter = "(*.txt)|*.txt"
         CommonDialog1.ShowOpen
         TextFile = CommonDialog1.filename
         Me.MousePointer = vbHourglass
         Me.Caption = "Retrieving the Text File"

         ' Save text file to the table column.
         SourceFile = FreeFile
         Open TextFile For Binary Access Read As SourceFile

         FileLength = LOF(SourceFile)  ' Get the length of the file.
         Debug.Print "Filelength is " & FileLength

         If FileLength = 0 Then

             Close SourceFile
             MsgBox TextFile & " empty or not found."
             Exit Sub
         Else

             Numblocks = FileLength / BlockSize
             LeftOver = FileLength Mod BlockSize

                 Rs(1).AppendChunk Null
                 strData = String(LeftOver, " ")
                 Get SourceFile, 1, strData
                 Rs(1).AppendChunk strData

                 strData = String(BlockSize, " ")

                 For i = 1 To Numblocks
                   Get SourceFile, , strData
                   Rs(1).AppendChunk strData
                 Next i

                 Close SourceFile

             Rs.Update   'Commit the new data.

             Close SourceFile
         End If

         Me.Caption = "Text File Retrieved"
         Command2.Enabled = True
         Me.MousePointer = vbNormal
      End Sub

      Private Sub Command2_Click()
         ' GetChunk Button.
         ' This procedure retrieves the text file
         ' from the table using the GetChunk method,
         ' converts the data to a file and
         ' displays that file in the RichTextBox.
         '
         Dim strData As String   'String for LongVarChar data
         Dim DestFileNum As Integer
         Dim DiskFile As String
         Dim txtOutFile As String
         Dim FileSize As Long

         Me.MousePointer = vbHourglass
         Me.Caption = "Getting the Text File"

         ' Remove any existing destination file.
         DiskFile = App.Path & "\BigText.txt"
         If Len(Dir$(DiskFile)) & 0 Then
            Kill DiskFile
         End If

         DestFileNum = FreeFile
         Open DiskFile For Binary As DestFileNum

         Numblocks = FileLength / BlockSize
         LeftOver = FileLength Mod BlockSize
         FileSize = Rs(1).ActualSize
         Debug.Print "The file size is " & FileSize

         strData = String(FileSize, 32)

         For i = 1 To Numblocks
             strData = String(BlockSize, 32)
             strData = Rs(1).GetChunk(BlockSize)
             Put DestFileNum, , strData
         Next i
         strData = String(LeftOver, 32)
         strData = Rs(1).GetChunk(LeftOver)

         Put DestFileNum, , strData
         Close DestFileNum

         RichTextBox1.LoadFile DiskFile, rtfText

         Rs.Close
         Debug.Print "Complete"
         Me.Caption = "Success!"
         Me.MousePointer = vbNormal

      End Sub

      Private Sub Command3_Click()
          'Exit button.
          Cn.Close
          Unload Me
     End Sub

					
Ejecute el Proyecto y haga clic en el botón AppendChunk. Cambie el directorio para seleccionar un archivo .txt. Haga clic en el archivo preferido y espere al ir a estar habilitado el botón GetChunk. Después de que el botón GetChunk esté habilitado, hace clic en ello y debería ver el texto que fue seleccionado por usted en el control RichTextBox. La ventana Depurar tendrá el tamaño del archivo que seleccionó junto con el ADO conecta cadena.

Volver al principio

Referencias

Para información adicional acerca del uso de GetChunk/AppendChunk de ADO con Oracle para Dato de BLOB, consulte el artículo siguiente en el Microsoft Knowledge Base:
185958 (http://support.microsoft.com/kb/185958/EN-US/) HOWTO: GetChunk/AppendChunk de ADO de uso con Oracle para datos BLOB
Para información adicional acerca de adquisición y la instalación del controlador ODBC para Oracle de Microsoft, consulte el artículo siguiente en el Microsoft Knowledge Base:
175018 (http://support.microsoft.com/kb/175018/EN-US/) HOWTO: Adquiera e instale el controlador ODBC para Oracle

Volver al principio


La información de este artículo se refiere a:
Microsoft ActiveX Data Objects 1.5
Microsoft ActiveX Data Objects 2.0
Microsoft ActiveX Data Objects 2.5
Microsoft ActiveX Data Objects 2.6
Microsoft ActiveX Data Objects 2.7
Microsoft Visual Basic 5.0 Enterprise Edition
Microsoft Visual Basic 6.0 Enterprise Edition

Volver al principio

Palabras clave: 
kbhowto kboracle kbprovider kbdatabase KB192743 KbMtes kbmt

Volver al principio

 

Buscar en

 
Búsqueda Avanzada

Seleccione idioma

 

Más soporte técnico

Herramientas


©2007 Microsoft Corporation. Todos los derechos reservados. Aviso legal |Marcas registradas |Privacidad